class Solution(object):
    def beautifulArray(self, n):
        """
        :type n: int
        :rtype: List[int]
        """
        if n == 1:
            return [1]
        
        # 递归生成左半部分（奇数）
        left = self.beautifulArray((n + 1) // 2)
        # 递归生成右半部分（偶数）
        right = self.beautifulArray(n // 2)
        
        # 将左半部分的数乘以2减1得到奇数
        left = [2 * x - 1 for x in left]
        # 将右半部分的数乘以2得到偶数
        right = [2 * x for x in right]
        
        # 合并左右两部分
        return left + right 